﻿using System;
using System.Web.Security;
using Autofac;
using ComputerVision.BaseForm;
using ComputerVision.Common;
using ComputerVision.Data;
using ComputerVision.Services;

namespace ComputerVision.Role
{
    public partial class frmRoleDetail : frmDetail
    {
        private readonly IService<aspnet_Roles> _role;
        public frmRoleDetail()
        {
            InitializeComponent();
            _role = Program.Container.Resolve<IService<aspnet_Roles>>();
        }
        
        public frmRoleDetail(Guid id)
        {
            InitializeComponent();
            guid = id;
            _fromtype = Constants.TypeForm.Edit;
            _role = Program.Container.Resolve<IService<aspnet_Roles>>();
            aspnet_Roles item = _role.Detail(id);
            if (item != null)
            {
                txtRoleName.Text = item.RoleName;
            }
        }

        protected override void Insert()
        {
            try
            {
                if (!Roles.RoleExists(txtRoleName.Text.Trim()))
                    Roles.CreateRole(txtRoleName.Text.Trim());
                else
                {
                    AlertList.Error("Đã tồn nhóm người dùng trong hệ thống.");
                }
            }
            catch (Exception ex)
            {
                AlertList.Error("Lỗi phát sinh khi tạo mới dữ liệu.");
            }
        }

        protected override void Edit()
        {
            try
            {
                aspnet_Roles item = _role.Detail(guid);
                if (item != null)
                {
                    item.RoleName = txtRoleName.Text.Trim();
                }
                _role.Update(item);
            }
            catch (Exception ex)
            {
                AlertList.Error("Lỗi phát sinh khi cập nhật dữ liệu.");
            }
        }
    }
}